This invention is related in general to the field of digital signal processing systems and methods, and more particularly, to a digital audio dynamic range compressor and method.
Every audio system has a limited dynamic range to reproduce the smallest to the largest amplitudes of the input audio signal. Audio signals are often composed of low amplitude intervals combined with brief periods of high amplitudes. For example, a piece of music that contains soft vocals combined with occasional percussion instruments. Such music gives rise to a dynamic range management problem for digital audio systems because it is expensive to accommodate the full dynamic range of this type of music. Further, the quality of lower amplitude episodes can be degraded if the system is always scaled to accommodate the highest amplitude episodes. Dynamic range compression is a technique used to accommodate high-amplitude signals without seriously degrading lower amplitude signals.
Dynamic range compression systems may perform dynamic scaling so that when high-amplitude episodes are encountered, the gain of the system is scaled back to accommodate them. The system is then automatically rescaled when lower amplitude signals are present. Such dynamic range compression systems are typically costly and difficult to implement.
In high-end audio systems, the high cost and difficulty in implementation are easily justified and absorbed. However, there are segments of the market, such as personal computers and laptop computers, where dynamic range compression would greatly improve the sound quality of the system. In these applications, the high cost in implementing dynamic range compression cannot be easily absorbed.
It has been recognized that it is desirable to provide a digital audio dynamic range compression system and method that is easier and less costly to implement.
In one aspect of the invention, a digital audio dynamic range compressor includes an attribute estimator receiving an audio input sample and generating an attribute estimate of the sample. A gain calculator receives the attribute estimate and computes a gain for the audio input sample in the linear domain, not in the logarithmic or dB domain. A filter receives the gain and smooths the gain to generate a gain output. A multiplier receives the gain output and multiplies the audio input sample with the gain output.
In another aspect of the invention, a digital audio dynamic range compressor includes a root mean square estimator receiving first and second audio input samples and operable to generate root mean square values, a maximum selector receiving the root mean square values and operable to select a maximum. A gain calculator then receives the maximum root mean square value and computes a gain in the linear domain without conversion to logarithmic (dB) domain and back. The computed gain is then filtered according to attack and release coefficients and generate a gain output. The gain output is then provided to a multiplier to multiply the first and second audio input samples with the gain output.
In yet another aspect of the invention, a method of audio dynamic range compression includes the steps of receiving a left input sample and a right input sample, estimating a root mean square value of each sample, and computing a gain for each sample in the linear domain. The minimum gain is selected and filtered according to user-specified attack and release coefficients to generate a gain output. The left input sample and the right input sample are then multiplied with the gain output to generate left and right audio output samples.
A technical advantage of the invention is the significantly decreased cost associated with the implementation of the digital audio dynamic range compressor of the present invention. The modification of the system design according to the invention lowers costs, yet the minor degradation in sound quality arising from the simplification enables a certain segment of the consumer product market to cost-effectively improve the sound quality of its product offerings.